iT邦幫忙

2022 iThome 鐵人賽

DAY 10
2
Modern Web

資料庫也有版本控制系列 第 10

Day 10 : 多個系統使用的同一個資料庫時要如何做版本變更

  • 分享至 

  • xImage
  •  

四、解決進行資料庫版控會遇到的問題

-> Day 10 : 多個系統使用的同一個資料庫時要如何做版本變更
Day 11 : 不共享資料庫會造成的問題
Day 12: 使用 API First 的概念解決共享問題
Day 13 : 資料庫如何退回之前的版本
Day 14 : 如何處理資料表中被刪除或更名的欄位
Day 15 : 資料表降級時如何處理資料庫中被刪除的欄位


我們在前面幾個篇章有介紹了資料庫版本控制的好處與方法,在現在開始的這個章節開始,我們會以實務上會遇到的問題來提出並且給出一個可行的解決方案

今天帶來的問題是 [多個系統使用的同一個資料庫時要如何做版本變更] ,在實際狀況下很常遇見多個系統共用了同一個資料庫,如 人資系統 與 採購系統,採購系統透過人資系統內的 人員資料表 與 權限表的欄位,來給予相對應的審核功能,但這時若 人資系統 對 人員資料表 有所改動,很有可能會影響到 採購系統 的功能,而這件事是難以被檢查的,若僅靠文件或是人員教育訓練,很可能會導致資料表難以更改,更別提導入版本控制了

而這樣的解決方式我認為會有兩種

  1. 僅單一系統存取資料庫
    系統設計上僅讓資料庫給單一系統使用,別的系統要使用時透過 API 的方式交換檔案,我認為這是最好的方式,在系統架構層面避免了難以被追蹤到的資料庫使用

  2. 為每一套系統有用到的資料表盤點並都納入版控,更新時檢察全系統是否有用到該資料表
    這也是有看過的方式,因為當初系統已經這樣設計而難以花時間抽離成 API,因此透過盤點與將各系統使用的資料表列出來,比如當異動到 user 表時,篩選出 人資系統、採購系統、物流系統,再通知各系統的負責人協助修改與檢查

這樣的方法較為繁瑣且人工介入程度高,但也不失一個過渡期的做法


後續預告

這是 解決進行資料庫版控會遇到的問題 的第一天,明日將會聊聊如果不共享資料庫會造成什麼問題


上一篇
Day 9 : 第三方獨立工具 Migration 方案
下一篇
Day 11 : 多系統不共享資料庫會造成的問題
系列文
資料庫也有版本控制30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言